package auctions;

import java.util.Vector;

public abstract class Auction {
	
	protected Integer _paymentRule;
	protected Vector<Agent> _agents;
	protected Double _reserve;
	protected Integer _numBidders;
	protected int _auctionNumber;
        protected Vector<AuctionResults> _ars;
	
	public Auction(int auctNum, String outputFile, int numBidders, Double reserve, int paymentRule){

		_numBidders = numBidders;
        _reserve = reserve;
        _paymentRule = paymentRule;
        _auctionNumber = auctNum;
		
	}
	
	public void setPaymentRule(Integer paymentRule) {
		_paymentRule = paymentRule;
	}
	
	public void setAgents(Vector<Agent> agents) {
		_agents = agents;
		_numBidders = agents.size();
	}
	
	public void setReserve(Double reservePrice){
		_reserve = reservePrice;
	}
	
	public Double getReserve() {
		return _reserve;
	}
        
        public Vector<AuctionResults> getAuctionResults(){
            return _ars;
        }
        
	public abstract Vector<AuctionResults> getWinner();

	
	public abstract AuctionType getType();
}
